<?php

/**
 * 排序
 * @param $arr 索引数组，值为数字
 * @return array 重组数组，替换键为数字
 */
function sortAttr($arr){
    $rel = [];
    asort($arr);
    foreach($arr as $k=>$v){
        $rel[]=$k;
    }
    return $rel;
}

/**
 * 获取数组最小的键
 * @param $arr 引数组，值为数字
 * @return mixed
 */
function getMinByArr($arr)
{
    $rel = [];
    asort($arr);
    foreach($arr as $k=>$v){
        $rel[]=$k;
    }
    return $rel[0];
}


/**
 * PHP实现Luhn算法（方式一）
 * @author：http://nonfu.me
 */

function luhm($no)
{

    $arr_no = str_split($no);
    $last_n = $arr_no[count($arr_no)-1];
    krsort($arr_no);
    $i = 1;
    $total = 0;
    foreach ($arr_no as $n){
        if($i%2==0){
            $ix = $n*2;
            if($ix>=10){
                $nx = 1 + ($ix % 10);
                $total += $nx;
            }else{
                $total += $ix;
            }
        }else{
            $total += $n;
        }
        $i++;
    }
    $total -= $last_n;
    $total *= 9;
    if($last_n == ($total%10)) {
        return true;
    }
    return false;
}
